#pragma once
#include <vector>
#include "vec.h"
#include "Lights.h"

class Material {

private:
	// those are the reflection coefficients... 
	vec3 m_ambientReflectivity;
	vec3 m_diffuseReflectivity;
	vec3 m_specularReflectivity; //one for each color
	GLfloat m_specularity; 
public:
	Material(const vec3 & ambRef, const vec3 & diffRef, const vec3 & specRef, GLfloat spec=1):	m_ambientReflectivity(ambRef),
																				m_diffuseReflectivity(diffRef),
																				m_specularReflectivity(specRef),
																				m_specularity(spec){}
	// So far this class is like a struct...
	inline vec3 getAmbient() const { return m_ambientReflectivity; }
	inline vec3 getDiffuse() const { return m_diffuseReflectivity; }
	inline vec3 getSpecular() const { return m_specularReflectivity; }
	inline GLfloat getSpecularity() const { return m_specularity; }
};